python正则匹配re.search与re.findall的区别 您所在的位置:网站首页 python findall 返回值 python正则匹配re.search与re.findall的区别

python正则匹配re.search与re.findall的区别

2023-05-28 08:25| 来源: 网络整理| 查看: 265

对比 返回值类型 返回值 re.search 返回一个对象。使用group()获得匹配的值,该值为str类型。 返回第一个成功的匹配 re.findall 返回一个列表。列表中包含所有满足条件的结果。 所匹配的所有子串

 

re.search 扫描整个字符串并返回第一个成功的匹配。

# -*- coding:utf-8 -*- import re str_a="name:zhangsan;age:20" searchResult=re.search("name:(.*?);",str_a)#匹配成功re.search方法返回一个匹配的对象,否则返回None #获得匹配得结果 #1_包含匹配条件的结果 searchResult_all=searchResult.group()# name:zhangsan; #2_如果只想获得匹配上(.*?) searchResult_part=searchResult.group(1)# zhangsan

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None;而re.search匹配整个字符串,直到找到一个匹配。

re.findall在字符串中找到正则表达式所匹配的所有子串,并返回一个列表,如果没有找到匹配的,则返回空列表。

# -*- coding:utf-8 -*- import re str_a="name:zhangsan;age:20;name:lisi;" searchResult=re.findall("name:(.*?);",str_a)#返回一个列表 ['zhangsan', 'lisi'] print (searchResult)

 



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有